const install = (Vue, vm) => {
	let returnObj = {};
	// 启动接口，获取一些服务端的配置
	returnObj.bootstrapper = () => {
		return vm.$u.get("/bootstrappers");
	};
	// 获取 此刻 精选推荐 banner 轮播图
	returnObj.getAdverbanner = (
		params = {
			space: "3",
		}
	) => {
		return vm.$u.get("/advertisingspace/advertising", params);
	};

	// 获取 此刻 精选推荐 后台推荐的长文章、动态列表
	returnObj.getRecommendList = (
		params = {
			category: 0,
			limit: 6,
			offset: 0,
		}
	) => vm.$u.get("/rouyu/recommend/list", params);

	// 获取所有动态条数及其他看板数据
	returnObj.getFeedsNum = () => {
		return vm.$u.get("/over-view");
	};

	// 获取 动态详情
	returnObj.getOneFeed = (
		params = {
			id: 1,
		}
	) => {
		return vm.$u.get("/feeds/" + params.id);
	};
	/** 获取动态详情 */
	returnObj.getFeedDetail = (feedId) => {
		return vm.$u.get(`/feeds/${feedId}`)
	};
	/** 获取随机热门动态 */
	returnObj.getRandomFeeds = (params) => {
		return vm.$u.post('/feeds-hot', params)
	};
	// 获取 新鲜事 列表信息
	returnObj.getNewStorys = (
		params = {
			category: 0,
			limit: 18,
			offset: 0,
		}
	) => {
		return vm.$u.get("/feeds/", params);
	};
	// 获取 我的动态 列表信息
	returnObj.getUserFeeds = (
		params = {
			category: 0,
			limit: 18,
			offset: 0,
		}
	) => {
		return vm.$u.get("/feeds/", params);
	};

	/** 动态取消点赞 */
	returnObj.unlikeFeed = (feedId) => {
		return vm.$u.delete(`/feeds/${feedId}/unlike`)
	};
	/** 动态点赞 */
	returnObj.likeFeed = (feedId) => {
		return vm.$u.post(`/feeds/${feedId}/like`)
	}


	// 获取 动态详情 对应的评论列表信息
	returnObj.getFeedComments = (
		params = {
			id: 1,
		},limit
	) => {
		return limit ?  vm.$u.get("/feeds/" + params.id + "/comments",limit) :  vm.$u.get("/feeds/" + params.id + "/comments");
		
	};

	// 动态 发布一条评论 and 二级评论
	returnObj.sendComment = (
		params = {
			// type: 'feeds', 评论类型 feeds or info
			// id: 1, 当前动态 ID
			// body:'', 评论内容
			// reply_comment_id: 0, 二级评论的目标ID，如果是顶级评论 默认为 0
			// reply_user: 1 二级评论，评论的是谁
		}
	) => {
		if (params.type == "feeds") {
			return vm.$u.post("/feeds/" + params.id + "/comments", params);
		} else {
			return vm.$u.post("/info/" + params.id + "/comment", params);
		}
	};
	// 删除 一条评论  and 二级评论
	returnObj.deleteComment = (
		params = {
			// type: 'feeds', 评论类型 feeds or info
			// id: 1, 当前动态 ID
			// comment_id: 0, 评论或者二级评论ID
		}
	) => {
		if (params.type == "feeds") {
			return vm.$u.delete(
				"/feeds/" + params.id + "/comments/" + params.comment_id
			);
		} else {
			return vm.$u.delete("/comments/" + params.comment_id);
		}
	};
	// 点赞一条评论
	returnObj.likeThisComment = (
		params = {
			cid: 0,
			type: "feed", // feed or info
			tid: 0,
		}
	) => {
		return vm.$u.post(
			"/comments/" +
			params.cid +
			"/like?type=" +
			params.type +
			"&type_id=" +
			params.tid
		);
	};

	// 删除 一条动态
	returnObj.delectOneFeed = ( id ) => {
		return vm.$u.delete("/feeds/"+id+"/currency");
	};
	
	// 发布 新动态
	returnObj.postOneFeed = (
		params = {
			feed_content: "",
			feed_from: 5,
			feed_mark: new Date().getTime(),
			theme: null,
			topics: [],
			bindProduct: 0,
		}
	) => {
		return vm.$u.post("/feeds", params);
	};
	// 当前动态 点赞
	returnObj.likeThisFeed = (
		params = {
			id: 1,
		}
	) => {
		return vm.$u.post("/feeds/" + params.id + "/like");
	};
	// 当前动态 取消点赞
	returnObj.unlikeThisFeed = (
		params = {
			id: 1,
		}
	) => {
		return vm.$u.delete("/feeds/" + params.id + "/unlike");
	};
	/** 删除动态 */
	returnObj.deleteFeed = (feedId) => {
		return vm.$u.delete(`/feeds/${feedId}/currency`)
	};
	// 举报当前动态
	returnObj.reportThisFeed = (
		params = {
			// 动态 Id
			id: 1,
			reason: ''
		}
	) => {
		return vm.$u.post("/feeds/" + params.id + "/reports", {
			reason: params.reason
		});
	}
	/** 清除用户未读信息(消除消息页小红点) */
	returnObj.removeUnreadTips = (type) => {
		return vm.$u.put(`/user/notifications?type=${type}`)
	};

	// 获取 所有资讯  列表信息
	returnObj.getInfos = (
		params = {
			limit: 15,
			offset: 0,
		}
	) => vm.$u.get("/infos", params);

	// 获取 当前资讯  详细信息
	returnObj.getOneInfo = (
		params = {
			id: 1,
		}
	) => {
		return vm.$u.get("/infos/" + params.id);
	};

	// 获取 当前资讯评论 列表信息
	returnObj.getInfoComments = (
		params = {
			id: 11,
			page:1
		}
	) => {
		return vm.$u.get("/infos/" + params.id + "/comments?page="+params.page);
	};
	// 当前资讯 点赞
	returnObj.likeThisInfo = (
		params = {
			id: 1,
		}
	) => {
		return vm.$u.put("/infos/" + params.id + "/like");
	};
	// 当前资讯 取消点赞
	returnObj.unlikeThisInfo = (
		params = {
			id: 1,
		}
	) => {
		return vm.$u.delete("/infos/" + params.id + "/like");
	};

	// 获取 新鲜事 列表信息
	// returnObj.getNewStorys = (params = {
	// 	category: 0,	
	// 	limit: 18,
	// 	offset: 0
	// }) => {
	// 	return vm.$u.get('/feeds/', params);
	// };

	// returnObj.getRecommendList = (params = {
	// 	category: 0,
	// 	limit: 6,
	// 	offset: 0
	// }) => vm.$u.get("/rouyu/recommend/list", params);

	/** 获取用户列表 */
	returnObj.getUser = (userId) => {
		if (typeof userId === "number") {
			return vm.$u.get(`/users/${userId}`);
		} else {
			const params = {
				id: userId.join(","),
			};
			return vm.$u.get("/users", {
				params,
			});
		}
	};
	/** 用户消息开关*/
	returnObj.setUserMessage = (num) => {
		return vm.$u.get(`/rouyu/message/notice/${num}`);
	};
	/** 获取用户收到的打赏type=reward,赞type=like, 评论type=comments */
	returnObj.getUserNewsDetail = (
		params = {
			category: "comments",
			page: 0,
			limit: 10,
		}
	) => {
		return vm.$u.get("/user/notifications", params);
	};
	/** 更新用户信息 */
	returnObj.saveUserInfo = (payload) => {
		return vm.$u.post('/user', payload)
	};
	//登录接口
	returnObj.rouyuWechatCode = (code) => {
		return vm.$u.post("/rouyu/send/wechat_code", {
			code,
		});
	};
	/** sessionkey登录 */
	returnObj.decodeSessionKey = (params) => {
		return vm.$u.post("/wechat/session-key", params);
	};
	/** 绑定用户账号 */
	returnObj.bindUser = (payload) => {
		return vm.$u.put("/wechat/mini-program", payload);
	};
	/** 绑定另一个手机 */
	returnObj.bindOtherPhone = (payload) => {
		return vm.$u.post("/wechat/bind-other-phone", payload);
	};
	/* 校验验证码 */
	returnObj.rouyuVerifyCode = (params) => {
		return vm.$u.post("/rouyu/check/phone_code", params);
	};
	/* 获取图片验证码/短信验证码 */
	returnObj.rouyuVerifiableCode = (params) => {
		return vm.$u.post("/rouyu/send/phone_code", params);
	};
	/** 获取用户消息列表 */
	returnObj.getNewsList = () => {
		return vm.$u.get("/user/notification-statistics");
	};
	/** 获取用户登录token */
	returnObj.checkLogin = async () => {
		const token = uni.getStorageSync("passportToken").data;
		if (!token) {
			uni.$emit("login");
			return false;
		} else {
			const res = await vm.$u.post("/rouyu-token-check", { token })
			console.log(res)
			if(res.status){
				return true;
			}else{
				uni.$emit("login");
				return false;
			}
		}
	};
	/** 获取当前登录用户信息 */
	returnObj.getCurrentUser = () => {
		return vm.$u.get("/user");
	};

	/** 获取活动动态 */
	returnObj.getActiveFeeds = (query) => {
		return vm.$u.get(`/feeds`, query)
	};
	/** 获取活动列表接口 */
	const activityUrlAPI = "https://mms-api.royole.fun/api/v1/template_type/";
	const activityUrlAPIV1 = "https://mms-api.royole.fun/api/v1/";
	// 获取活动参与人数
	returnObj.getActivityJoinNum = () => {
		return vm.$u.get(`${activityUrlAPI}counts`);
	};
	// 获取活动列表
	returnObj.getActivityList = (params) => {
		return vm.$u.get(`${activityUrlAPI}`, params);
	};
	/* 活动详情 */
	returnObj.getActivityDetail = (id, params) => {
		return vm.$u.get(`${activityUrlAPI}${id}`, params);
	};
	/* 用户活动信息 */
	(returnObj.getUserActivityDetail = (activety, userid, params) => {
		console.log(`${activityUrlAPI}${activety}?userid=${userid}`);
		return vm.$u.get(`${activityUrlAPI}${activety}?userid=${userid}`, params);
	}),
	/** 活动晒图、浏览量 */
	(returnObj.getActivityNum = (activity_id) => {
		return vm.$u.get(`/activity/feed/info/${activity_id}`);
	});
	// 将各个定义的接口名称，统一放进对象挂载到vm.$u.api(因为vm就是this，也即this.$u.api)下
	vm.$u.api = returnObj;
};
export default {
	install,
};
